# 命令行工具

EMP 内置了一个轻量的命令行工具，包含 dev、build 等命令。

---

### emp -h

如果你需要查看所有可用的 CLI 命令，请在项目目录中运行以下命令：

```
npx emp -h
```

输出如下:

```
Usage: emp <command> [options]

Options:
  -v, --version    output the version number
  -h, --help       display help for command

Commands:
  dev [options]    Dev 模式
  build [options]  Build 模式
  serve [options]  Server 模式
  dts [options]    拉取 remote 项目的 d.ts
  init [options]   初始化 emp 项目
  help [command]   display help for command
```

---

### emp dev

`emp dev` 命令用于启动一个本地开发服务器，对源代码进行开发环境编译。

```
Usage: emp dev [options]

Options:
  -e, --env <env>                   部署环境 dev、test、prod
  -h, --hot                         是否使用热更新，默认启动
  -o, --open                        是否打开调试页面，默认不打开
  -t, --ts                          生成类型文件，默认为 false
  -pr, --profile                    统计模块消耗
  -cl, --clearLog <clearLog>        清空日志，默认为 true
  -ev, --env-vars <key=value>       定义一个环境变量，例如：-ev key=value，
                                    多个环境变量重复调用，例如：-ev key=value -ev key=value
```

---

### emp build

`emp build` 命令默认会在 dist/ 目录下构建出可用于生产环境的产物。

import { Badge } from '@theme';

<Badge text="update in v3.0.0-rc.24 add [watch mode]" type="warning" />


```
Usage: emp build [options]

Options:
  -e, --env <env>                   部署环境 dev、test、prod
  -a, --analyze                     生成分析报告，用于包体积分析，默认为 false
  -t, --ts                          生成类型文件，默认为 false
  -pr, --profile                    统计模块消耗
  -cl, --clearLog <clearLog>        清空日志，默认为 true
  -w, --watch                       watch 模式
  -sv, --serve                      watch 模式下启动serve
  -ev, --env-vars <key=value>       定义一个环境变量，例如：-ev key=value，
                                    多个环境变量重复调用，例如：-ev key=value -ev key=value
```

---

### emp serve

`emp serve` 命令用于构建在本地环境预览的生产版本。

```
Usage: emp serve [options]

Options:
  -cl, --clearLog <clearLog>        清空日志，默认为 true
```

---

### emp dts 

`emp dts` 命令用于拉取 remote 项目的 d.ts。

```
Usage: emp dts [options]

Options:
  -p, --typingsPath <typingsPath>   下载目录
  -e, --env <env>                   部署环境 dev、test、prod
```

---

### emp init 

`emp init` 命令用于初始化 emp 项目。

```
Usage: emp init [options]

Options:
 -d, --data [data]                  JSON 数据的 HTTP 地址或文件路径（相对或绝对路径）
```
